/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 北京银杉金服科技有限公司
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2018/9/11 22:42
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.util.model;

import java.util.List;

/**
 * Jquery的datatables分页查询返回数据组装工具类
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
public class DataTabPageBean<T> {

    /**
     * draw:number类型——请求计数器，客户端发送的draw是多少，服务器就返回多少。
     *      出于安全的考虑，强烈建议将draw转换为整数后再返回，而不是纯粹的接受然后返回，
     *      这是为了防止跨站点脚本攻击（XSS）。
     */
    private int draw;
    /**
     * recordsTotal:number类型,未经过过滤的数据记录数(数据库里总共有多少条记录）
     */
    private long recordsTotal;
    /**
     * recordsFiltered:number类型,过滤后的总的记录数，是所有数据经过过滤筛选后的数量，
     * 而不仅仅是当前页面要显示的数据数量。
     */
    private long recordsFiltered;
    /**
     * data:Array类型,要展示在表格中的数据，可以是一个对象数组，也可以是一个纯数组。
     * 区别在于，如果是纯数组的话，前端就不需要用columns绑定数据，会自动按照顺序去显示，
     * 每个数组中的数据就是一行；如果是对象数组，前端则需要使用columns绑定数据才能正常显示。
     */
    private List<T> data;

    public int getDraw() {
        return draw;
    }

    public void setDraw(int draw) {
        this.draw = draw;
    }

    public long getRecordsTotal() {
        return recordsTotal;
    }

    public void setRecordsTotal(long recordsTotal) {
        this.recordsTotal = recordsTotal;
    }

    public long getRecordsFiltered() {
        return recordsFiltered;
    }

    public void setRecordsFiltered(long recordsFiltered) {
        this.recordsFiltered = recordsFiltered;
    }

    public List<T> getData() {
        return data;
    }

    public void setData(List<T> data) {
        this.data = data;
    }
}
